<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>4函数</title>
</head>

<body>
    <!-- 
        1. 什么是函数？
            实现特定功能的n条语句的封装体
            只有函数是可以执行的，其他类型的数据不能执行
        2. 为什么要用函数？
            提高代码复用
            便于阅读、交流
        3. 如何定义函数？
            函数声明
            表达式
        4. 如何调用（执行）函数？
            直接加括号调用
            通过对象调用
            通过new调用
            函数名.call/apply(obj)临时让这个函数成为obj的方法进行调用
     -->
    <script>
        //  3.定义函数
        //      1. 函数声明
        function fn1() {
            console.log('fn1()');
        }
        //      2.表达式(存在变量提升问题)
        var fn2 = function () {
            console.log('fn2()')
        }
        // 4. 函数调用
        let obj = {}
        function test() {
            this.name = 'Beauty'
        }
        // 不能直接使用obj去掉用test()
        // 但是可以使用call让test临时成为obj的方法
        test.call(obj)
        console.log(obj.name);
        did
    </script>
</body>

</html>